Skip to content

Bump tuber from 0.5.1 to 0.6.0 - #21

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/tuber-0.6.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/bundler/tuber-0.6.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 23, 2026 •

Copy link
Copy Markdown

Bumps tuber from 0.5.1 to 0.6.0.

Changelog

Sourced from tuber's changelog.

0.6.0 (September 16 2026)

Reconnection release. The gem retried reconnects but not connects, so a consumer that caught Tuber::NotConnected and built a new client — the obvious thing to write — never reached the retrying path, and a server restart of a few seconds was enough to kill it. reconnect! makes the existing healing reachable, and connect_retries gives a cold start a window wider than the outage. Existing behaviour is unchanged until connect_retries is raised, with two exceptions noted below: NotConnected messages gained a suffix (the historical text remains a strict prefix), and a connect error other than ECONNREFUSED is now retried and surfaced as NotConnected rather than escaping as a raw Errno.

  • Add Tuber#reconnect! / Connection#reconnect!: re-establishes the connection and replays its tube state (watched tubes with their weights, the used tube, the reserve mode). This healing only ever ran when the connection itself noticed a dropped socket, so a consumer that caught Tuber::NotConnected had no way to reach it and had to build a new client — which starts with no tube state and has to re-watch and re-weight every tube by hand.
  • Add connect_retries and connect_retry_interval configuration. The initial connect took exactly one attempt with no retry, so a cold start during a server restart — a web boot, a fresh Tuber.new, a daemon rebuilding its client after an error — failed where an established connection would have healed. Defaults to the historical single attempt; raising it also lifts the reconnect budget of connections already established, so one knob covers both.
  • Retry a connect that fails for any reason the server might be unreachable (ETIMEDOUT, EHOSTUNREACH, ENETUNREACH, DNS failure, connect timeout), not only ECONNREFUSED. Those previously escaped as a raw Errno from the middle of a reconnect, a class no consumer thinks to rescue.
  • Tuber::NotConnected now names the underlying error in its message and keeps it as the exception's cause. A bare rescue collapsed every connect failure into "Connection to beanstalk '...' is closed!", hiding whether the server refused, timed out, or was never resolved — exactly what you need during an outage.
  • Connection#close no longer raises if the socket cannot be closed cleanly; the connection is gone either way and reconnect! must not fail on the way to replacing it.
  • Fix a reconnect silently dropping per-tube weights and the connection's reserve mode (#1). Both are per-connection server state that a fresh socket resets, so a consumer that healed across a brief server restart kept working but quietly fell back to FIFO. Connection now remembers the weight each tube was watched with and the mode set by Tubes#reserve_mode, and replays them (watch, then ignore default, then reserve-mode) when re-initialising tubes.
  • Fix _initialize_tubes sending ignore default after a reconnect even when default was one of the watched tubes, which dropped it from the watch list.
  • Connection#add_to_watched now takes an optional weight as a second argument, and Connection#tube_weights / Connection#reserve_mode expose the replayed state.
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [tuber](https://github.com/tuberq/tuber-gem) from 0.5.1 to 0.6.0.
- [Release notes](https://github.com/tuberq/tuber-gem/releases)
- [Changelog](https://github.com/tuberq/tuber-gem/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tuberq/tuber-gem/commits)

---
updated-dependencies:
- dependency-name: tuber
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code labels Sep 23, 2026
@dependabot @github

dependabot Bot commented on behalf of github Sep 30, 2026

Copy link
Copy Markdown
Author

Looks like tuber is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 30, 2026
@dependabot
dependabot Bot deleted the dependabot/bundler/tuber-0.6.0 branch September 30, 2026 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants